#include "KamaCoder.h"
using namespace std;

// 主函数，用于处理输入和输出结果
int KamaCoder106::run() {
  // 输入数据
  int n, m;
  cin >> n >> m;                                // 格子的长宽
  vector<vector<int>> grid(n, vector<int>(m));  // 格子
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      cin >> grid[i][j];
    }
  }

  int dir[4][2] = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};  // 四个方向
  int result = 0;                                      // 结果
  // 处理,遍历所有单元格
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      // 如果当前单元格是空白，则跳过
      if (grid[i][j] == 1) {
        // 遍历四个方向
        for (int k = 0; k < 4; k++) {
          int x = i + dir[k][0];
          int y = j + dir[k][1];
          // 如果周围单元格为边界或者水域，则结果++
          if (x < 0 || x >= n || y < 0 || y >= m || grid[x][y] == 0) {
            result++;
          }
        }
      }
    }
  }
  // 输出结果
  cout << result << endl;
  return 0;
}